﻿using JESAI.HttpRequestMonitor.Core.Enums;
using System;
using System.Collections.Generic;
using System.Text;

namespace JESAI.HttpRequestMonitor.Core.Abstracts
{
    /// <summary>
    /// 实体类创建器，用于创建存储在数据库中的实体类对象
    /// </summary>
    public interface IModelCreator
    {
        /// <summary>
        /// 创建请求信息实体
        /// </summary>
        /// <returns></returns>
        IRequestModel CreateRequestModel();

        /// <summary>
        /// 创建请求详情实体
        /// </summary>
        /// <returns></returns>
        IRequestDetailModel CreateRequestDetailModel();

        /// <summary>
        /// 创建监控实体
        /// </summary>
        /// <returns></returns>
        IMonitorModel CreateMonitorModel(MonitorType monitorType);

        /// <summary>
        /// 创建监控规则实体
        /// </summary>
        /// <returns></returns>
        IMonitorRuleModel CreateMonitorRuleModel();

    }
}
